package com.ecloud.support.generator.service.iface;

import java.io.IOException;

import org.springframework.http.ResponseEntity;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ecloud.common.base.result.Result;
import com.ecloud.support.generator.model.dto.TableConfigDto;
import com.ecloud.support.generator.model.entity.TableConfigPo;

/**
 * ITableConfigService
 *
 * @author LiuGangQiang Create in 2021/04/15
 */
public interface ITableConfigService extends IService<TableConfigPo> {

    /**
     * 新增
     *
     * @author LiuGangQiang Create in 2021/05/16
     * @param dto 入参
     * @return {@link Result}
     */
    Result<?> insert(TableConfigDto dto);

    /**
     * 单表生成
     *
     * @author LiuGangQiang Create in 2021/05/23
     * @param dto 入参
     * @return {@link ResponseEntity}
     * @throws IOException
     */
    ResponseEntity<byte[]> generator(TableConfigDto dto) throws IOException;

    /**
     * 多表生成
     *
     * @author LiuGangQiang Create in 2021/05/23
     * @param dto 入参
     * @return {@link ResponseEntity}
     * @throws IOException
     */
    ResponseEntity<byte[]> generators(TableConfigDto dto) throws IOException;

    /**
     * 查询详情
     *
     * @author LiuGangQiang Create in 2021/05/16
     * @param dto 入参
     * @return {@link Result}
     */
    Result<?> queryDetail(TableConfigDto dto);
}
